package org.wak.utils
{
	import flash.events.Event;
	import flash.events.KeyboardEvent;
	import flash.events.MouseEvent;
	
	/**
	 * This interface is used for every entity which needs to listen
	 * the player input events.
	 * 
	 */	
	public interface IEventsHandler
	{
		
		/**
		 * Event handler for KeyboardEvent.KEY_DOWN event.
		 * @param event KeyboardEvent.KEY_DOWN
		 * 
		 */		
		function OnKeyDown(event:KeyboardEvent):void ;
		
		/**
		 * Event handler for KeyboardEvent.KEY_UP event.
		 * @param event KeyboardEvent.KEY_UP
		 * 
		 */		
		function OnKeyUp(event:KeyboardEvent):void ;
		
		/**
		 * Event handler for MouseEvent.CLICK event.
		 * @param event MouseEvent.CLICK
		 * 
		 */
		function OnMouseClick(event:MouseEvent):void ;

		/**
		 * Event handler for MouseEvent.DOUBLE_CLICK event.
		 * @param event MouseEvent.DOUBLE_CLICK
		 * 
		 */		
		function OnMouseDoubleClick(event:MouseEvent):void ;
		
		/**
		 * Event handler for MouseEvent.MOUSE_DOWN event.
		 * @param event MouseEvent.MOUSE_DOWN
		 * 
		 */		
		function OnMouseDown(event:MouseEvent):void ;
		
		/**
		 * Event handler for MouseEvent.MOUSE_WHEEL event.
		 * @param event MouseEvent.MOUSE_WHEEL
		 * 
		 */		
		function OnMouseWheel(event:MouseEvent):void ;
		
		/**
		 * Event handler for Event.ENTER_FRAME event.
		 * @param event Event.ENTER_FRAME
		 * 
		 */		
		function Update(event:Event):void ;
	}
}